<?php
namespace Common\Model;
use Common\Model\CommonModel;
class UsersModel extends CommonModel
{
	
	protected $_validate = array(
		//array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
		array('user_login', 'require', '用户名称不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT  ),
		array('user_pass', 'require', '密码不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT ),
		array('user_login', 'require', '用户名称不能为空！', 0, 'regex', CommonModel:: MODEL_UPDATE  ),
		array('user_pass', 'require', '密码不能为空！', 0, 'regex', CommonModel:: MODEL_UPDATE  ),
		array('user_login','','用户名已经存在！',0,'unique',CommonModel:: MODEL_BOTH ), // 验证user_login字段是否唯一
		array('user_email','','邮箱帐号已经存在！',0,'unique',CommonModel:: MODEL_BOTH ), // 验证user_email字段是否唯一
		array('user_email','email','邮箱格式不正确！',0,'',CommonModel:: MODEL_BOTH ), // 验证user_email字段格式是否正确
	);
	
	protected $_auto = array(
	    array('create_time','mGetDate',CommonModel:: MODEL_INSERT,'callback'),
	    array('birthday','',CommonModel::MODEL_UPDATE,'ignore')
	);
	
	//用于获取时间，格式为2012-02-03 12:12:12,注意,方法不能为private
	function mGetDate() {
		return date('Y-m-d H:i:s');
	}
	
	protected function _before_write(&$data) {
		parent::_before_write($data);
		
		if(!empty($data['user_pass']) && strlen($data['user_pass'])<25){
			$data['user_pass']=sp_password($data['user_pass']);
		}
	}
	/**
	 * @param $adminid
	 * @return bool|mixed
	 * 获取用户的昵称
	 */
	public function getNiceName($adminid){
		if(empty($adminid)){
			return false;
		}
		$nicename = $this->cache(true,60)->where(['id'=>$adminid])->getField('user_nicename');
		return $nicename;
	}

	/**
	 * @param $uid
	 * @return bool|mixed
	 * 获取用户信息
	 */
	public function getUserInfo($uid){
		if(empty($uid)){
			return false;
		}
		$user = $this->field('id,user_nicename,user_nicename as nicename,avatar as head_portrait,signature,user_login')->where(['id'=>$uid])->find();
		return $user;
	}

	/**
	 * @param $uid
	 * 判断是否是老师
	 */
	public function isTeacher($uid){
		if(empty($uid)){
			return false;
		}
		$map['user_id'] = $uid;
		$role_id = M('role_user')->cache(true,600)->where($map)->getField('role_id');
		//2默认是老师
		if($role_id == 2){
			return true;
		}else{
			return false;
		}
	}

}

